package com.shared.utilitaire;

import javax.persistence.Id;
import com.googlecode.objectify.annotation.Entity;
import com.shared.data.IData;


/**
 * Classe contenant les informations relatives à une Adresse
 * @author queyroi
 *
 */

@Entity
public class Adresse implements IData{
	
	
	@Id private Long key;	
	private String numero="";
	private String typeVoie="";
	private String nomVoie="";
	private String codePostal="";
	private String ville="";
	private String pays="";
	
	
	
	public Adresse() {		
	}
	
	public Adresse(String numero,String typeVoie,String nomVoie, String codePostal, String ville, String pays){
		this.numero = numero;
		this.typeVoie = typeVoie;
		this.nomVoie = nomVoie;
		this.codePostal = codePostal;
		this.ville = ville;
		this.pays = pays;
	}
	/**
	 * Methode toString personnalisé
	 * @return Adresse en pretty
	 */
	public String getAdresse(){
		if(("").equals(numero) && ("").equals(nomVoie) && ("").equals(codePostal) && ("").equals(ville) && ("").equals(pays)) return "Inconnue";
		return numero + " " + typeVoie + " " + nomVoie + " " + codePostal + " " + ville + " " + pays;
	}
	
	/**
	 * @param nomVoie the nomVoie to set
	 */
	public void setNomVoie(String nomVoie) {
		this.nomVoie = nomVoie;
	}
	/**
	 * @return the nomVoie
	 */
	public String getNomVoie() {
		return nomVoie;
	}
	/**
	 * @param numero the numero to set
	 */
	public void setNumero(String numero) {
		this.numero = numero;
	}
	/**
	 * @return the numero
	 */
	public String getNumero() {
		return numero;
	}
	/**
	 * @param typeVoie the typeVoie to set
	 */
	public void setTypeVoie(String typeVoie) {
		this.typeVoie = typeVoie;
	}
	/**
	 * @return the typeVoie
	 */
	public String getTypeVoie() {
		return typeVoie;
	}
	/**
	 * @param codePostal the codePostal to set
	 */
	public void setCodePostal(String codePostal) {
		this.codePostal = codePostal;
	}
	/**
	 * @return the codePostal
	 */
	public String getCodePostal() {
		return codePostal;
	}
	/**
	 * @param ville the ville to set
	 */
	public void setVille(String ville) {
		this.ville = ville;
	}
	/**
	 * @return the ville
	 */
	public String getVille() {
		return ville;
	}
	/**
	 * @param pays the pays to set
	 */
	public void setPays(String pays) {
		this.pays = pays;
	}
	/**
	 * @return the pays
	 */
	public String getPays() {
		return pays;
	}

	/**
	 * @param key the key to set
	 */
	public void setKey(Long key) {
		this.key = key;
	}

	/**
	 * @return the key
	 */
	public Long getKey() {
		return key;
	}
	
	
}
